package cn.wolfcode.wolf2w.api.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import cn.wolfcode.wolf2w.common.core.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 问答对象 ta_question
 * 
 * @author 浪兎兎
 * @date 2025-06-07
 */
@Data
@TableName("ta_question")
public class Question implements Serializable {
    private static final long serialVersionUID = 1L;

    public static final Integer NO_DRAFT_FILTER = -1;
    public static final Integer IS_DRAFT = 1;
    public static final Integer NOT_DRAFT = 0;

    /** 主键 */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 作者名字 */
    @Excel(name = "作者名字")
    private String authorName;

    /** 问题 */
    @Excel(name = "问题")
    private String detailDoubt;

    /** 等级 */
    @Excel(name = "等级")
    private Integer level;

    /** 目的地名称 */
    @Excel(name = "目的地名称")
    private String destinationName;

    /** 目的地id */
    @Excel(name = "目的地id")
    private Long destinationId;

    /** 是否草稿 */
    @Excel(name = "是否草稿")
    private Integer isDraft;

    /** 关注量 */
    @Excel(name = "关注量")
    private Integer count;

    /** 浏览量 */
    @Excel(name = "浏览量")
    private Integer viewNum;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 标签列表 */
    @TableField(exist = false)
    private List<String> labelList;

    /** 回答列表 */
    @TableField(exist = false)
    private List<Answer> answerList;

    /** 关注状态 */
    @TableField(exist = false)
    private Boolean isAttention = false;

    /** 点赞数量 */
    private Integer zanCount;

}
